.overlay {
    display: none;
    position: fixed;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, .56);
}

.modal {
    width: 380px;
    min-height: 400px;
    background-color: #f2f2f2;
    padding: 38px 40px 40px 40px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    &__close {
        position: absolute;
        top: 0;
        right: -42px;
        font-size: 40px;
        line-height: 20px;
        color: $main_color;
        cursor: pointer;
    }

    &__subtitle {
        color: #0d0d0d;
        font-size: 18px;
        font-weight: 700;
        line-height: normal;
        text-align: center;
    }

    &__descr {
        margin-top: 5px;
        color: #0d0d0d;
        font-size: 14px;
        font-weight: 500;
        line-height: normal;
        text-align: center;
    }

    &_mini {
        min-height: 140px;
    }

    .error {
        border: 1px solid red;
        text-align: center;
        margin-bottom: 10px;
    }
    
    label.error {
        border: none;
    }
}

#consultation,
#order,
#thanks {
    display: none;
}